<!--
  ~ Copyright (c) 2020 the original author or authors
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      https://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  ~ or implied. See the License for the specific language governing
  ~ permissions and limitations under the License.
  -->

<div class="model-list">
  <app-search-table
    [currentRole]="userRole$ | async"
    [requiredRole]="roleEnum.User"
    [hideContent]="true"
    (inputSearch)="onSearch($event)"
    (modalWindow)="onCreateNewModel()"
    title="{{ 'models.create_dialog.title' | translate }}"
    buttonText="{{ 'applications.create.button' | translate }}"
    searchPlaceholder="{{ 'models.search.title' | translate }}"
  >
  </app-search-table>
  <app-spinner *ngIf="isLoading$ | async"></app-spinner>
  <app-model-table
    *ngIf="(tableConfig$ | async)?.data.length > 0"
    class="app-table"
    [isLoading]="isLoading$ | async"
    [userRole]="userRole$ | async"
    [tableConfig]="tableConfig$ | modelTableFilter: search | async"
    (clone)="clone($event)"
    (edit)="edit($event)"
    (test)="test($event)"
    (collection)="mangeCollection($event)"
    (dashboard)="dashboard($event)"
  >
  </app-model-table>
  <ng-container *ngIf="(isLoading$ | async) === false">
    <div class="create-new-message" *ngIf="(tableConfig$ | async)?.data.length === 0">
      <mat-icon svgIcon="info_new"></mat-icon>
      <p class="caption">{{ 'models.create_model_info' | translate }}</p>
    </div>
  </ng-container>
</div>
